package com.zhuiyun.project.api.reservation.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhuiyun.project.api.coachmanagement.model.CoachHandoverModel;
import com.zhuiyun.project.api.dukacard.model.ReservationFiveTableModel;
import com.zhuiyun.project.api.reservation.entity.Reservation;
import com.zhuiyun.project.api.vipPlan.entity.MemberPlan;
import com.zhuiyun.project.api.vipPlan.model.ActionListModel;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @ClassName reservationMapper
 * @Description TODO
 * @Author xy
 * @Date 2023/11/14 13:28
 **/
@Mapper
public interface ReservationMapper extends BaseMapper<Reservation> {
    /**
    * @Author wx
    * @Description 查询课程预约记录
    * @Date 2023/11/20 14:16
    * @Return
    * @param membershipCardNumber
    */
    List<ActionListModel> selectListById(String venueUniqueIdentifier, String membershipCardNumber);

    /**
     * @Author wx
     * @Description 获取会员用户当日训练总时间
     * @Date 2023/11/20 19:09
     * @Return
     * @param venueUniqueIdentifier
     */
    List<Reservation> getStudentTrainingAllTime(Integer id, String venueUniqueIdentifier);

    /**
     * @Author wx
     * @Description 获取会员用户当日已完成训练时间
     * @Date 2023/11/20 19:09
     * @Return
     * @param venueUniqueIdentifier
     */
    List<Reservation> getStudentTrainingFinishTime(Integer id, String venueUniqueIdentifier);

    /**
    * @Author wx
    * @Description 查询用户月要训练的总课程
    * @Date 2023/11/22 8:44
    * @Return
    * @param id
    */
    List<Reservation> getStudentTrainingMonth(Integer id);

    /**
     * @Author wx 查询约课状态
     * @Description
     * @Date 2023/12/14 11:30
     * @Return
     * @param studentId
     */
    Reservation selectResStatus(Integer courseId, Integer studentId, Integer coachId);

    List<MemberPlan> getMemberPlanByStudentId(Integer id);

    void DeleteReservation(Integer id);

    // List<Reservation> selectListByStatus(CoachHandoverModel coachHandoverModel);
}
